iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
0

模組

Python模組是一個.py的檔案,其中包含很多定義的常數和函式程式(述句、運算式等),供其他Python程式使用。我們都知道,一個Python程式檔案的副檔名也是.py,這差別在於,程式設計目的是為了執行,而模組設計目的是由其他程式匯入並使用。
總而言之,模組就是把常用的一些功能單獨放在一個檔案中,方便其他檔案來呼叫使用。所以當我們想要用模組檔裡的函式、常數時,就須用import述句來匯入,基本語法如下:

import 模組名

那麼在開始匯入前,先來看看內建模組吧!

內建模組

Python裡的內建函式是透過__builtins__模組提供的,該模組為內建模組,不需要手動匯入,所以在啟動Python時系統就會自動匯入了,任何程式都能直接使用它們。內建模組就是定義了一些軟體開發常用的函式,幫助我們進行資料轉換、計算、序列處理等。像之前我們偷偷用的整數int()或是串列list()都是,以下來看個常用的內建函式範例介紹:

#int()將字串"123"轉為整數
>>> int("123")
123
#用int()取整數
>>> int(78.6)
78
#repr()將任意值轉字串,常用於建置輸出字串
>>> x = 2.5*2.5
>>> y = 100*2.5
>>> >>> s= 'The value of x is '+repr(x)+' and y is '+repr(y)
>>> print(s)
The value of x is 6.25 and y is 250.0
#round(x,y)可四捨五入對x保留y位數
>>> round(3.1415926,2)
3.14
#len()計算字串長度
>>> len('Hello everyone!')
15
#max()取參數最大值
>>> max(3,6,9)
9

非內建模組

非內建模組在使用前要先匯入模組,就如最一開始所提到的import。那麼要用模組內定義的函式或常數,打上模組名稱.函式or字面常數就行,下面用math模組來舉例:

>>> import math      #匯入

>>> math.pi          #檢視圓周率π
3.141592653589793

>>> math.pow(math.pi,3)   #pow(x,y)求x的y次方
31.006276680299816

>>> math.sqrt(16)       #求平方根
4.0

當然還有很多其他數學用法在math模組裡,有興趣可以查看看,未來會再介紹模組引用和另一種使用方式。

自訂模組

這裡是我最喜歡的一個部分,因為我們自己可以在一個檔案裡定義函式,然後再用其他檔案import進去使用。怎麼想都很有成就感,開始有種自己設計程式的感覺,心情非常好!總之趕緊來動手試試吧~
以下例子目的要計算出三角形面積公式(運用海龍公式):
海龍公式(A為面積):
https://chart.googleapis.com/chart?cht=tx&chl=A%3D%7B%5Csqrt%20%20%7Bs(s-a)(s-b)(s-c)%7D%7D,其中https://chart.googleapis.com/chart?cht=tx&chl=%20s%3D%7B%5Cfrac%20%7Ba%2Bb%2Bc%7D%7B2%7D%7D
那麼我們建立一個py檔案,名稱叫formula.py,裡面是要定義好我們的海龍公式。

import math

def heron_formula(a,b,c):                #海龍公式
    s = (a+b+c)/2
    area = math.sqrt(s*(s-a)*(s-b)*(s-c))
    return area

之後再開一個新檔案來執行計算,當然要匯入之前定義好的公式呀~

import formula

tri = formula.heron_formula(12,25,33)  #三角形邊長12,25,33
print(tri)

126.8857754044952

根本超酷的啊!!/images/emoticon/emoticon07.gif

參考資料

  • 書名-Python程式設計入門 /葉難-編著
  • 書名-大數據起步從Python開始 /吳萍-編著

上一篇
Day16-Lambda函式
下一篇
Day18-標準函式庫
系列文
Python 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言